cmake_minimum_required(VERSION 3.8)
message(STATUS "cmake version ${CMAKE_VERSION}")

project(rv1126_ffmpeg)

set(TOOLCHAIN_DIR /opt/atk-dlrv1126-toolchain)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/usr/bin/arm-linux-gnueabihf-g++)
set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/usr/bin/arm-linux-gnueabihf-gcc)
set(SYSROOT ${TOOLCHAIN_DIR}/arm-buildroot-linux-gnueabihf/sysroot/usr/include)
set(CMAKE_SYSROOT ${TOOLCHAIN_DIR}/arm-buildroot-linux-gnueabihf/sysroot)

set(CMAKE_CXX_STANDARD 11)
add_definitions(-g -O0 -ggdb -gdwarf -funwind-tables -rdynamic)
add_definitions(-Wno-write-strings -Wno-return-type)

set(OPENCV_LIBS opencv_core opencv_imgcodecs opencv_imgproc opencv_features2d opencv_flann opencv_highgui opencv_freetype)
set(RKNN_LIBS easymedia rga rkaiq rknn_api sample_common_isp sqlite3 rockx)
set(FFMPEG_LIBS avformat avcodec avdevice avfilter swresample swscale avutil)
set(THIRD_MEDIA third_media)
# set(THIRD_MEDIA ${CMAKE_CURRENT_LIST_DIR}/lib/libthird_media.so)
# link_directories(include lib)
	
include_directories(${SYSROOT})
include_directories(${SYSROOT}/rga)
include_directories(${SYSROOT}/easymedia)
include_directories(${SYSROOT}/rkaiq/uAPI)
include_directories(${SYSROOT}/rkaiq/xcore)
include_directories(${SYSROOT}/rkaiq/algos)
include_directories(${SYSROOT}/rkaiq/common)
include_directories(${SYSROOT}/rkaiq/iq_parser)
# include_directories(${SYSROOT}/rknn)
include_directories(${SYSROOT}/rockx)
include_directories(.)
# include_directories(./include)
# include_directories(./include/3rdparty)
# include_directories(./include/3rdparty/drm/include/libdrm)
# include_directories(./include/3rdparty/rga/include)

include_directories(./include/easymedia)
include_directories(./include/rkmedia)


add_definitions(-DRKAIQ)

add_executable(rv1126_ffmpeg 
rv1126_ffmpeg_main.cpp 
# rv1126_isp_function.cpp 
ffmpeg_audio_queue.cpp 
ffmpeg_video_queue.cpp 
rkmedia_assignment_manage.cpp 
rkmedia_container.cpp 
rkmedia_data_process.cpp 
rkmedia_ffmpeg_config.cpp 
rkmedia_module_function.cpp 
face_database.cpp 
# sample_common_isp.c
)

target_link_libraries(rv1126_ffmpeg 
${OPENCV_LIBS} 
${RKNN_LIBS} 
${FFMPEG_LIBS} 
${THIRD_MEDIA} 
pthread 
dl)

add_executable(face_library_import face_library_import.cpp face_database.cpp)
target_link_libraries(face_library_import ${OPENCV_LIBS} ${RKNN_LIBS} pthread dl)

